const typography = require('@tailwindcss/typography');
const forms = require('@tailwindcss/forms');

const config = {
    content: ['./src/**/*.{html,js,svelte,ts}'],

    theme: {
        extend: {
            height: {
                '88': '22rem',
                '90': '22.5rem',
                '128': '32rem',
            },
            gridTemplateColumns: {
                // Simple 24 column grid
                '13': 'repeat(13, minmax(0, 1fr))',
                '14': 'repeat(14, minmax(0, 1fr))',
                '15': 'repeat(15, minmax(0, 1fr))',
                '16': 'repeat(16, minmax(0, 1fr))',
                '17': 'repeat(17, minmax(0, 1fr))',
                '18': 'repeat(18, minmax(0, 1fr))',
                '19': 'repeat(19, minmax(0, 1fr))',
                '20': 'repeat(20, minmax(0, 1fr))',
                '21': 'repeat(21, minmax(0, 1fr))',
                '22': 'repeat(22, minmax(0, 1fr))',
                '23': 'repeat(23, minmax(0, 1fr))',
                '24': 'repeat(24, minmax(0, 1fr))',
                '48': 'repeat(48, minmax(0, 1fr))',
                '72': 'repeat(72, minmax(0, 1fr))',

                // Complex site-specific column configuration
                'footer': '200px minmax(900px, 1fr) 100px',
            },

            gridColumn: {
                'span-8': 'span 8 / span 8',
                'span-10': 'span 10 / span 10',
                'span-12': 'span 12 / span 12',
                'span-13': 'span 13 / span 13',
                'span-14': 'span 14 / span 14',
                'span-16': 'span 16 / span 16',
                'span-17': 'span 17 / span 17',
                'span-18': 'span 18 / span 18',
                'span-20': 'span 20 / span 20',
                'span-22': 'span 22 / span 22',
                'span-23': 'span 23 / span 23',
                'span-24': 'span 24 / span 24',
                'span-44': 'span 44 / span 44',
                'span-48': 'span 48 / span 48',
                'span-66': 'span 66 / span 66',
                'span-72': 'span 72 / span 72',
            },
            gridColumnStart: {
                '8': '8',
                '9': '9',
                '10': '10',
                '11': '11',
                '12': '12',
                '13': '13',
                '14': '14',
                '15': '15',
                '16': '16',
                '17': '17',
                '18': '18',
                '19': '19',
                '20': '20',
                '21': '21',
                '22': '22',
                '23': '23',
                '24': '24',
            },
            gridColumnEnd: {
                '8': '8',
                '9': '9',
                '10': '10',
                '11': '11',
                '12': '12',
                '13': '13',
                '14': '14',
                '15': '15',
                '16': '16',
                '17': '17',
                '18': '18',
                '19': '19',
                '20': '20',
                '21': '21',
                '22': '22',
                '23': '23',
                '24': '24',
                '46': '46',
                '47': '47',
                '48': '48',
                '70': '70',
                '71': '71',
                '72': '72',
            },

            gridRow: {
                'span-8': 'span 8 / span 8',
                'span-10': 'span 10 / span 10',
                'span-11': 'span 11 / span 11',
                'span-12': 'span 12 / span 12',
                'span-13': 'span 13 / span 13',
                'span-14': 'span 14 / span 14',
                'span-15': 'span 15 / span 15',
                'span-16': 'span 16 / span 16',
                'span-17': 'span 17 / span 17',
                'span-18': 'span 18 / span 18',
                'span-19': 'span 19 / span 19',
                'span-20': 'span 20 / span 20',
            },
            gridRowStart: {
                '8': '8',
                '9': '9',
                '10': '10',
                '11': '11',
                '12': '12',
                '13': '13',
                '14': '14',
                '15': '15',
                '16': '16',
                '17': '17',
                '18': '18',
                '19': '19',
                '20': '20',
                '21': '21',
                '22': '22',
                '23': '23',
                '24': '24',
                '25': '25',
                '26': '26',
                '27': '27',
                '28': '28',
                '29': '29',
                '30': '30',
                '31': '31',
                '32': '32',
                '33': '33',
                '34': '34',
                '35': '35',
                '36': '36',
                '37': '37',
                '38': '38',
                '39': '39',
                '40': '40',
                '41': '41',
                '42': '42',
                '43': '43',
                '44': '44',
                '45': '45',
                '46': '46',
                '47': '47',
                '48': '48',
                '49': '49',
                '50': '50',
                '51': '51',
                '52': '52',
                '53': '53',
                '54': '54',
                '55': '55',
                '56': '56',
                '57': '57',
                '58': '58',
                '59': '59',
                '60': '60',
                '61': '61',
                '62': '62',
                '63': '63',
                '64': '64',
                '65': '65',
                '66': '66',
                '67': '67',
                '68': '68',
                '69': '69',
                '70': '70',
                '71': '71',
                '72': '72',
                '73': '73',
                '74': '74',
                '75': '75',
                '76': '76',
                '77': '77',
                '78': '78',
                '79': '79',
                '80': '80',
                '81': '81',
                '82': '82',
                '83': '83',
                '84': '84',
                '85': '85',
                '86': '86',
                '87': '87',
                '88': '88',
                '89': '89',
                '90': '90',
                '91': '91',
                '92': '92',
                '93': '93',
                '94': '94',
                '95': '95',
                '96': '96',
                '97': '97',
                '98': '98',
                '99': '99',
                '100': '100',
                '101': '101',
                '102': '102',
                '103': '103',
                '104': '104',
                '105': '105',
                '106': '106',
                '107': '107',
                '108': '108',
                '109': '109',

            },
            gridRowEnd: {
                '8': '8',
                '9': '9',
                '10': '10',
                '11': '11',
                '12': '12',
                '13': '13',
                '14': '14',
                '15': '15',
                '16': '16',
                '17': '17',
                '18': '18',
                '19': '19',
                '20': '20',
                '21': '21',
                '22': '22',
                '23': '23',
                '24': '24',
                '25': '25',
                '26': '26',
                '27': '27',
                '28': '28',
                '29': '29',
                '30': '30',
                '31': '31',
                '32': '32',
                '33': '33',
                '34': '34',
                '35': '35',
                '36': '36',
                '37': '37',
                '38': '38',
                '39': '39',
                '40': '40',
                '41': '41',
                '42': '42',
                '43': '43',
                '44': '44',
                '45': '45',
                '46': '46',
                '47': '47',
                '48': '48',
                '49': '49',
                '50': '50',
                '51': '51',
                '52': '52',
                '53': '53',
                '54': '54',
                '55': '55',
                '56': '56',
                '57': '57',
                '58': '58',
                '59': '59',
                '60': '60',
                '61': '61',
                '62': '62',
                '63': '63',
                '64': '64',
                '65': '65',
                '66': '66',
                '67': '67',
                '68': '68',
                '69': '69',
                '70': '70',
                '71': '71',
                '72': '72',
                '73': '73',
                '74': '74',
                '75': '75',
                '76': '76',
                '77': '77',
                '78': '78',
                '79': '79',
                '80': '80',
                '81': '81',
                '82': '82',
                '83': '83',
                '84': '84',
                '85': '85',
                '86': '86',
                '87': '87',
                '88': '88',
                '89': '89',
                '90': '90',
                '91': '91',
                '92': '92',
                '93': '93',
                '94': '94',
                '95': '95',
                '96': '96',
                '97': '97',
                '98': '98',
                '99': '99',
                '100': '100',
                '101': '101',
                '102': '102',
                '103': '103',
                '104': '104',
                '105': '105',
                '106': '106',
                '107': '107',
                '108': '108',
                '109': '109',
            }
        }
    },

    plugins: [forms, typography]
};

module.exports = config;